.\"***************************************************************************
.\" Copyright 2019-2023,2024 Thomas E. Dickey                                *
.\" Copyright 2007-2015,2017 Free Software Foundation, Inc.                  *
.\"                                                                          *
.\" Permission is hereby granted, free of charge, to any person obtaining a  *
.\" copy of this software and associated documentation files (the            *
.\" "Software"), to deal in the Software without restriction, including      *
.\" without limitation the rights to use, copy, modify, merge, publish,      *
.\" distribute, distribute with modifications, sublicense, and/or sell       *
.\" copies of the Software, and to permit persons to whom the Software is    *
.\" furnished to do so, subject to the following conditions:                 *
.\"                                                                          *
.\" The above copyright notice and this permission notice shall be included  *
.\" in all copies or substantial portions of the Software.                   *
.\"                                                                          *
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
.\"                                                                          *
.\" Except as contained in this notice, the name(s) of the above copyright   *
.\" holders shall not be used in advertising or otherwise to promote the     *
.\" sale, use or other dealings in this Software without prior written       *
.\" authorization.                                                           *
.\"***************************************************************************
.\"
.\" $Id: curs_legacy.3x,v 1.34 2024/05/25 20:15:31 tom Exp $
.TH curs_legacy 3X 2024-05-25 "ncurses 6.5" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.\}
.el \{\
.ie t .ds `` ``
.el   .ds `` ""
.ie t .ds '' ''
.el   .ds '' ""
.\}
.
.de bP
.ie n  .IP \(bu 4
.el    .IP \(bu 2
..
.SH NAME
\fB\%getattrs\fP,
\fB\%getbegx\fP,
\fB\%getbegy\fP,
\fB\%getcurx\fP,
\fB\%getcury\fP,
\fB\%getmaxx\fP,
\fB\%getmaxy\fP,
\fB\%getparx\fP,
\fB\%getpary\fP \-
get \fIcurses\fR cursor and window coordinates or attributes (legacy)
.SH SYNOPSIS
.nf
\fB#include <curses.h>
.PP
\fBint getattrs(const WINDOW *\fIwin\fP);
.PP
\fBint getbegx(const WINDOW *\fIwin\fP);
\fBint getbegy(const WINDOW *\fIwin\fP);
.PP
\fBint getcurx(const WINDOW *\fIwin\fP);
\fBint getcury(const WINDOW *\fIwin\fP);
.PP
\fBint getmaxx(const WINDOW *\fIwin\fP);
\fBint getmaxy(const WINDOW *\fIwin\fP);
.PP
\fBint getparx(const WINDOW *\fIwin\fP);
\fBint getpary(const WINDOW *\fIwin\fP);
.fi
.SH DESCRIPTION
These legacy functions are simpler to use
than the X/Open \fIcurses\fP functions:
.bP
The \fB\%getattrs\fP function returns the same attribute data
as \fB\%wattr_get\fP.
.IP
However, \fB\%getattrs\fP returns an integer (actually a \fB\%chtype\fP),
while \fB\%wattr_get\fP returns the current color pair in a separate parameter.
In the wide-character library configuration,
color pairs may not fit into a \fB\%chtype\fP,
so \fB\%wattr_get\fP is the only way to obtain the color information.
.IP
Because \fB\%getattrs\fP returns the attributes in a single parameter,
it would not be possible for an application to distinguish that from
\fBERR\fP (a \fI-1\fP).
If the window parameter is null, \fB\%getattrs\fP
returns \fB\%A_NORMAL\fP (zero).
.bP
The \fB\%getbegy\fP and \fB\%getbegx\fP functions return the same
data as \fB\%getbegyx\fP.
.bP
The \fB\%getcury\fP and \fB\%getcurx\fP functions return the same
data as \fB\%getyx\fP.
.bP
The \fB\%getmaxy\fP and \fB\%getmaxx\fP functions return the same
data as \fB\%getmaxyx\fP.
.bP
The \fB\%getpary\fP and \fB\%getparx\fP functions return the same
data as \fB\%getparyx\fP.
.SH RETURN VALUE
Except as noted,
these functions return an integer,
or \fBERR\fP if the window parameter is null.
.SH PORTABILITY
These functions were supported on Version 7, BSD or System V implementations.
None of those implementations checked the window parameter.
.PP
The \fB\%getattrs\fP function and macro are defined to return a (signed) integer
for compatibility with those implementations
although an unsigned type would have been more appropriate.
.SH SEE ALSO
\fB\%curses\fP(3X),
\fB\%curs_getyx\fP(3X),
\fB\%curs_opaque\fP(3X)
